package com.whales.shared.controller;

import javax.annotation.Resource;

import org.springframework.context.MessageSource;
import org.springframework.context.i18n.LocaleContextHolder;

public abstract class BaseController {
    @Resource(name="messageSource")
    private MessageSource messageSource;
    
    /**
     * 다국어 resource를 반환 한다.
     * @메소드명 : getMessage                          
     * @작성자 : sw775.park   
     * @작성일 : 2011. 8. 10.
     * @param key
     * @return
     * @throws Exception    
     * @설명 :
     * @수정이력 - 수정일,수정자,수정내용                    
     */
    protected final String getMessage(String key) throws Exception{
        return this.getMessage(key, null);
    }
    
    /**
     * <p>다국어 resource를 반환 하며,</p>
     * <p>argments가 있어서 {0}, {1}, ...형태를 사용할 수 있다.</p>
     * @메소드명 : getMessage                          
     * @작성자 : sw775.park   
     * @작성일 : 2011. 8. 10.
     * @param key
     * @param args
     * @return
     * @throws Exception    
     * @설명 :
     * @수정이력 - 수정일,수정자,수정내용                    
     */
    protected final String getMessage(String key, String[] args) throws Exception{
        return messageSource.getMessage(key, args, "NO MESSAGE",LocaleContextHolder.getLocale());
    }
}
